// 入口函数
$(function () {
  // 1. 校验自定义规则
  layui.form.verify({
    nickname: [/^[\S]{1,10}$/, '昵称必须1到10位，且不能出现空格']
  })

  // 2. 发起ajax，渲染用户信息，封装成函数
  initUserInfo()
  function initUserInfo () {
    //  2.1 发起ajax
    axios({
      method: 'get',
      url: '/my/userinfo',
      headers: { Authorization: localStorage.getItem('token') }
    }).then(({ data: res }) => {
      //成功回调
      //   console.log(res)

      if (res.status != 0) {
        return layui.layer.msg(res.message)
      }

      // 2.2 为form表单赋值，渲染至表单
      // 内置模块 - 表单 - 表单赋值/取值
      layui.form.val('formUserInfo', res.data)
    })
  }

  // 3. 重置功能
  $('#btnReset').on('click', function (e) {
    // 3.1 阻止表单默认事件(重置按钮)
    e.preventDefault()

    // 3.2 调用渲染函数
    initUserInfo()
  })

  // 4. 修改用户信息
  $('form').on('submit', function (e) {
    // 4.1 阻止表单默认事件
    e.preventDefault()

    // 4.2 发起ajax
    axios({
      method: 'post',
      url: '/my/userinfo',
      data: $(this).serialize(),
      headers: { Authorization: localStorage.getItem('token') }
    }).then(({ data: res }) => {
      //成功回调
      //   console.log(res)

      if (res.status != 0) {
        return layui.layer.msg(res.message)
      }

      // 4.3 提示修改成功
      layui.layer.msg('恭喜您，修改成功！')

      // 4.4 调用index.js里面的函数渲染用户信息
      window.parent.getUserInfo()
    })
  })
})
